package com.junchenrobot.mes.dao;

import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.junchenrobot.mes.domain.OutputTask;
import com.junchenrobot.mes.mapper.OutputTaskMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class OutputTaskDao {


    private final OutputTaskMapper outputTaskMapper;

    @Autowired
    public OutputTaskDao(OutputTaskMapper outputTaskMapper) {
        this.outputTaskMapper = outputTaskMapper;
    }


    /**
     * 是否存在卸载任务
     *
     * @param taskCode 任务代码
     * @return boolean
     */
    public boolean existOutputTask(String taskCode) {
        // 查询是否存在
        return new LambdaQueryChainWrapper<>(outputTaskMapper).eq(
                OutputTask::getOutTaskCode, taskCode).last("LIMIT 1").count() > 0;
    }

    /**
     * 得到卸载任务
     *
     * @param taskCode 任务编号
     * @return boolean
     */
    public OutputTask getOutputTask(String taskCode) {
        // 查询是否存在
        return new LambdaQueryChainWrapper<>(outputTaskMapper).eq(OutputTask::getOutTaskCode,
                                                                      taskCode)
                                                              .last("LIMIT 1").one();
    }


    /**
     * 更新任务
     *
     * @param outputTask 卸载任务
     */
    public void updateTask(OutputTask outputTask) {
        outputTaskMapper.updateById(outputTask);
    }

    /**
     * 插入任务
     *
     * @param outputTask 卸载任务
     */
    public void insertTask(OutputTask outputTask) {
        outputTaskMapper.insert(outputTask);
    }
}
